import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'
Vue.use(Vuex)
// vuex模块自动导入的方法
// 另外一种不需要手动导入   并且自动导入并使用的方法
// const req=require.context('路径',是否递归,正则:以什么结尾)
// const req = require.context('./modules', false, /\.js$/)
// // 得到模块名 的数组
// console.log('req.keys', req.keys());   // 得到数组  [0: "./app.js" 1: "./settings.js" 2: "./user.js"]
// // 得到模块
// console.log('req.keysss', req.keys().map(req));  //得到对象数组0: Module {default: {…}, __esModule: true, Symbol(Symbol.toStringTag): 'Module'}1: Module {default: {…}, __esModule: true, Symbol(Symbol.toStringTag): 'Module'}2: Module {default: {…}, __esModule: true, Symbol(Symbol.toStringTag): 'Module'}
// // 使用数组的分隔split()  得到 模块名
// console.log(req.keys().map(item => item.split('./')[1]).map(item => item.split('.js')[0]));
// // 模块名
// const mName = req.keys().map(item => item.split('./')[1]).map(item => item.split('.js')[0])
// const mModules = req.keys().map(req)
// const obj = {}   //定义一个空对象
// mName.forEach((key, index) => obj[key] = mModules[index].default)
// const store = new Vuex.Store({
//   modules: obj,
//   getters
// })


const store = new Vuex.Store({
  modules: {
    app,
    settings,
    user
  },
  getters
})

export default store
